package com.stylefeng.guns.rest.common.persistence.model;

import java.io.Serializable;

import com.baomidou.mybatisplus.annotations.Version;
import com.baomidou.mybatisplus.enums.IdType;
import java.util.Date;
import com.baomidou.mybatisplus.annotations.TableId;
import com.baomidou.mybatisplus.annotations.TableField;
import com.baomidou.mybatisplus.activerecord.Model;
import com.baomidou.mybatisplus.annotations.TableName;
import java.io.Serializable;

/**
 * <p>
 * 用户表
 * </p>
 *
 * @author ruiyifeng123
 * @since 2019-01-25
 */
@TableName("wz_user")
public class WzUser extends Model<WzUser> {

    private static final long serialVersionUID = 1L;

    /**
     * 用户id
     */
    @TableId(value = "user_id", type = IdType.ID_WORKER)
    private Long userId;
    /**
     * 用户编号
     */
    @TableField("user_code")
    private Long userCode;
    /**
     * 账号（手机号码）
     */
    private String account;
    /**
     * 用户邀请码
     */
    @TableField("invitation_code")
    private String invitationCode;
    /**
     * 密码MD5(密码+盐)
     */
    private String password;
    /**
     * 现金余额
     */
    @TableField("cash_balance")
    private Integer cashBalance;
    /**
     * 奖金余额
     */
    @TableField("reward_balance")
    private Integer rewardBalance;
    /**
     * 总收益
     */
    private Integer profit;
    /**
     * 昵称
     */
    @TableField("nick_name")
    private String nickName;
    /**
     * 头像链接
     */
    @TableField("avatar_url")
    private String avatarUrl;
    /**
     * 角色：1-用户；2-实名用户;3-商户；
     */
    private Integer role;
    /**
     * 经度
     */
    private String longitude;
    /**
     * 维度
     */
    private String latitude;
    /**
     * 性别：0-默认；1-男；2-女
     */
    private Integer gender;
    /**
     * 城市ad_code
     */
    @TableField("ad_code")
    private String adCode;
    /**
     * 年龄
     */
    private Integer age;
    /**
     * 状态：1-正常；2-实名认证中；3-实名认证驳回；4-实名认证通过；5-商户认证中；6-商户认证驳回；7-商户认证通过；
     */
    private Integer status;
    /**
     * 用户活跃度：0-新用户；1-活跃用户；2-较活跃用户；3-不活跃用户；
     */
    @TableField("user_activity")
    private Integer userActivity;
    /**
     * 登录信息
     */
    @TableField("login_info")
    private String loginInfo;
    /**
     * 手机型号：1-ios；2-android；
     */
    @TableField("mobile_type")
    private Integer mobileType;
    /**
     * 手机版本
     */
    @TableField("mobile_version")
    private String mobileVersion;
    /**
     * 是否读取:0-未读；1-已读；
     */
    @TableField("is_read")
    private Integer isRead;
    /**
     * 是否有结算的分享：0-没有;1-有
     */
    @TableField("has_share")
    private Integer hasShare;
    /**
     * 是否有即将过期礼券
     */
    @TableField("has_coupon")
    private Integer hasCoupon;
    /**
     * 是否有新分享
     */
    @TableField("has_newShare")
    private Integer hasNewshare;
    /**
     * 0-没周边店铺；1-有周边店铺
     */
    @TableField("has_adv_map")
    private Integer hasAdvMap;
    /**
     * 更新时间
     */
    @TableField("update_time")
    private Date updateTime;
    /**
     * 用户手机唯一编号
     */
    private String uuid;
    /**
     * 发布红包总额
     */
    @TableField("redPacket_amount")
    private Integer redpacketAmount;
    @TableField("create_time")
    private Date createTime;

    @Version
    private Integer version;


    public Long getUserId() {
        return userId;
    }

    public void setUserId(Long userId) {
        this.userId = userId;
    }

    public Long getUserCode() {
        return userCode;
    }

    public void setUserCode(Long userCode) {
        this.userCode = userCode;
    }

    public String getAccount() {
        return account;
    }

    public void setAccount(String account) {
        this.account = account;
    }

    public String getInvitationCode() {
        return invitationCode;
    }

    public void setInvitationCode(String invitationCode) {
        this.invitationCode = invitationCode;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }

    public Integer getCashBalance() {
        return cashBalance;
    }

    public void setCashBalance(Integer cashBalance) {
        this.cashBalance = cashBalance;
    }

    public Integer getRewardBalance() {
        return rewardBalance;
    }

    public void setRewardBalance(Integer rewardBalance) {
        this.rewardBalance = rewardBalance;
    }

    public Integer getProfit() {
        return profit;
    }

    public void setProfit(Integer profit) {
        this.profit = profit;
    }

    public String getNickName() {
        return nickName;
    }

    public void setNickName(String nickName) {
        this.nickName = nickName;
    }

    public String getAvatarUrl() {
        return avatarUrl;
    }

    public void setAvatarUrl(String avatarUrl) {
        this.avatarUrl = avatarUrl;
    }

    public Integer getRole() {
        return role;
    }

    public void setRole(Integer role) {
        this.role = role;
    }

    public String getLongitude() {
        return longitude;
    }

    public void setLongitude(String longitude) {
        this.longitude = longitude;
    }

    public String getLatitude() {
        return latitude;
    }

    public void setLatitude(String latitude) {
        this.latitude = latitude;
    }

    public Integer getGender() {
        return gender;
    }

    public void setGender(Integer gender) {
        this.gender = gender;
    }

    public String getAdCode() {
        return adCode;
    }

    public void setAdCode(String adCode) {
        this.adCode = adCode;
    }

    public Integer getAge() {
        return age;
    }

    public void setAge(Integer age) {
        this.age = age;
    }

    public Integer getStatus() {
        return status;
    }

    public void setStatus(Integer status) {
        this.status = status;
    }

    public Integer getUserActivity() {
        return userActivity;
    }

    public void setUserActivity(Integer userActivity) {
        this.userActivity = userActivity;
    }

    public String getLoginInfo() {
        return loginInfo;
    }

    public void setLoginInfo(String loginInfo) {
        this.loginInfo = loginInfo;
    }

    public Integer getMobileType() {
        return mobileType;
    }

    public void setMobileType(Integer mobileType) {
        this.mobileType = mobileType;
    }

    public String getMobileVersion() {
        return mobileVersion;
    }

    public void setMobileVersion(String mobileVersion) {
        this.mobileVersion = mobileVersion;
    }

    public Integer getIsRead() {
        return isRead;
    }

    public void setIsRead(Integer isRead) {
        this.isRead = isRead;
    }

    public Integer getHasShare() {
        return hasShare;
    }

    public void setHasShare(Integer hasShare) {
        this.hasShare = hasShare;
    }

    public Integer getHasCoupon() {
        return hasCoupon;
    }

    public void setHasCoupon(Integer hasCoupon) {
        this.hasCoupon = hasCoupon;
    }

    public Integer getHasNewshare() {
        return hasNewshare;
    }

    public void setHasNewshare(Integer hasNewshare) {
        this.hasNewshare = hasNewshare;
    }

    public Integer getHasAdvMap() {
        return hasAdvMap;
    }

    public void setHasAdvMap(Integer hasAdvMap) {
        this.hasAdvMap = hasAdvMap;
    }

    public Date getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
    }

    public String getUuid() {
        return uuid;
    }

    public void setUuid(String uuid) {
        this.uuid = uuid;
    }

    public Integer getRedpacketAmount() {
        return redpacketAmount;
    }

    public void setRedpacketAmount(Integer redpacketAmount) {
        this.redpacketAmount = redpacketAmount;
    }

    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    public Integer getVersion() {
        return version;
    }

    public void setVersion(Integer version) {
        this.version = version;
    }

    @Override
    protected Serializable pkVal() {
        return this.userId;
    }

    @Override
    public String toString() {
        return "WzUser{" +
        "userId=" + userId +
        ", userCode=" + userCode +
        ", account=" + account +
        ", invitationCode=" + invitationCode +
        ", password=" + password +
        ", cashBalance=" + cashBalance +
        ", rewardBalance=" + rewardBalance +
        ", profit=" + profit +
        ", nickName=" + nickName +
        ", avatarUrl=" + avatarUrl +
        ", role=" + role +
        ", longitude=" + longitude +
        ", latitude=" + latitude +
        ", gender=" + gender +
        ", adCode=" + adCode +
        ", age=" + age +
        ", status=" + status +
        ", userActivity=" + userActivity +
        ", loginInfo=" + loginInfo +
        ", mobileType=" + mobileType +
        ", mobileVersion=" + mobileVersion +
        ", isRead=" + isRead +
        ", hasShare=" + hasShare +
        ", hasCoupon=" + hasCoupon +
        ", hasNewshare=" + hasNewshare +
        ", hasAdvMap=" + hasAdvMap +
        ", updateTime=" + updateTime +
        ", uuid=" + uuid +
        ", redpacketAmount=" + redpacketAmount +
        ", createTime=" + createTime +
        ", version=" + version +
        "}";
    }
}
